home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / ipm.arc / IPM.DOC < prev   
Text File  |  1986-10-26  |  13KB  |  278 lines

  1. IPM.PAS & IPM.COM - Version 1.07 - November, 1984
  2. (c) 1984 by Edward V. Dong, All Rights Reserved.
  3.  
  4.  
  5.                          Programmed by:
  6.                          Edward V.  Dong
  7.                      12205 Alexandria Place
  8.                          Chino, CA 91710
  9.  
  10. 1.0   GENERAL
  11.  
  12. IPM.COM  is  a  Critical  Path  Method  Project  Scheduler.   The
  13. Critical  Path  Method  is  a  methodology  for  determining  the
  14. critical  tasks  that,  if  not  accomplished  by a certain time,
  15. contribute  directly  to  the  delay  of  the whole project.  You
  16. should refer to various books on the subject.
  17.  
  18. 1.1  RIGHT  TO  USE THIS SOFTWARE.  The software, IPM.COM, may be
  19. used as is, by anyone  for  private  purposes  only.   Commercial
  20. users  should contact the address above for the right to use this
  21. software.  No claim is made for the veracity  of  this  software,
  22. and  no warranty, guarantee or other bond is expressed or implied
  23. about the use of this software.  No user may sell  this  software
  24. in  any  form,  other than for the cost of materials and mailing,
  25. without the express, written consent of Edward V.  Dong.
  26.  
  27. This software and documentation is copyright (c) 1984  by  Edward
  28. V. Dong, all rights reserved.
  29.  
  30. You are encouraged to share and  copy  this  software  otherwise.
  31. Contributions  ($10  for example) and comments should be directed
  32. to the above address.
  33.  
  34. 1.2  REQUIREMENTS.   IPM will run in a minimum of 128K, under DOS
  35. 1.1, 2.0, and 2.1, and should run  under  DOS  3.X.   Written  in
  36. Turbo  Pascal 1.0, IPM requires an IBM PC, XT, PC-3270, or AT, or
  37. a close PC compatible that  supports  IBM  BIOS  ROM  calls.   It
  38. should run with or without a color graphics board.
  39.  
  40. The  maximum  number  of  activities  that it will handle, is 100
  41. (actually 99), determined by the constant MaxValue in the  source
  42. code IPM.PAS.
  43.  
  44. Various calculations and plots can be printed to an  EPSON  or  a
  45. compatible  printer,  by first outputing them to a disk file, and
  46. then  printing  those  files.   Basic  calculation  data  can  be
  47. exported as a .PRN file to Lotus 1-2-3.
  48.  
  49. 1.3  THEORY  OF  OPERATIONS.   Briefy,  the  CPM theory is that a
  50. project is composed of tasks or activities that are arranged in a
  51. pattern  or  network,  where  some  tasks  may  be  performed  in
  52. parallel.
  53.  
  54. If two tasks are being performed in parallel, then the  one  that
  55. takes  longer  to  do,  is  termed "critical".  It is "critical",
  56. because a delay in that task directly contributes to the delay of
  57. the whole project.  A delay in the other task -- as long as it is
  58. completed before the longer task -- does not.  The difference  in
  59. completion time is called "slack".
  60.  
  61. The idea in project scheduling and management is to arrange these
  62. tasks, and to monitor them,  so  that  the  time  for  the  whole
  63. project is kept as short as possible, or the resources needed for
  64. the project is "levelled".  That is, you  don't  want  to  spend,
  65. say, 6 men for 2 weeks on one part of the project, and only use 1
  66. man for the remaining 12 weeks of  the  project;   rather,  as  a
  67. manager,  you want to spread your manpower (or other resource) as
  68. evenly as possible, because it becomes easier to manage.
  69.  
  70. 1.4  BACKGROUND.   IPM was originally coded because of, first, an
  71. admiration  for  the  Harvard  Project  Scheduler,  and,  second,
  72. certain  deficiencies  in  the  HPM.   IPM indeed stands for "Ivy
  73. League Project Manager".  While most features found  in  HPM  are
  74. incorporated  into  IPM,  IPM  however  does  not have a calendar
  75. function nor a project-tracking function.   These  may  be  added
  76. later.
  77.  
  78. IPM  is  an  evolutionary  outgrowth  of  an  earlier  scheduling
  79. program, written  by  E.   Dong,  called  CPM.COM.   CPM.COM  was
  80. originally  coded  18  Sept  83  by  E.  Dong, based on the BASIC
  81. version, 'Hard Hat Management:  Two On-Site  Tools',  by  Richard
  82. Parry,  INTERFACE  AGE,  February, 1981.  It was first translated
  83. into CIC86 'C', and then retranslated into Turbo Pascal, with the
  84. last update on 24-Mar-84.
  85.  
  86. The  current  program, IPM.COM, was adapted from PRACTICAL PASCAL
  87. PROGRAMS, Osborne/McGraw-Hill, by  Greg  Davidson,  (c)  1982  by
  88. McGraw-Hill,  Inc.   However,  this  was extensively modified, as
  89. this book did not address the creation of GANTT or PERT charts.
  90.  
  91. The algorithm for IPM's GANTT charts is based on that created for
  92. CPM.COM,  while  the  algorithm  for  IPM's PERT charts was newly
  93. created (in three days of intensive development).  A  semi-screen
  94. editor was also created for IPM.COM.
  95.  
  96. 2.0   STARTING IPM
  97.  
  98. Starting IPM is, after it has  been  copied  to  the  appropriate
  99. disk,  to  type  IPM.   When  it  pops  up on the screen, it will
  100. display a copyright logo, a brief text indicating  the  reference
  101. to  Greg Davidson's book, and a brief description of how to enter
  102. commands.
  103.  
  104. IPM is arranged so that line 25 (and occasionally, also line  24)
  105. shows the current available commands.  You execute these commands
  106. by typing the first letter (which should be high-lighted) and  no
  107. carriage return.
  108.  
  109. Initially,  the  only  options  you have at startup are:  F(ile),
  110. Q(uit), and H(elp).  QUIT returns you to DOS;  in some cases,  it
  111. will  return  you  to  a  previous  command  menu  instead.  HELP
  112. generates a quick summary of the basic commands  only.   FILE  is
  113. the  command  that  you must enter first, in order to do anything
  114. with IPM.
  115.  
  116. FILE allows you to specify the method of data  entry.   That  is,
  117. you  can enter project data interactively at the console, or from
  118. a file.  If you're using IPM for the first time, generally  there
  119. would  be  no  files  for  IPM  to  use,  so  you must enter data
  120. initially at the console directly.  FILE will prompt you for your
  121. option.
  122.  
  123. You  should  have  a  minimum of four tasks to use IPM;  anything
  124. else, would be a waste of time with IPM.
  125.  
  126. Entering  necessary  input  data  is as follows.  First, IPM will
  127. prompt:
  128.  
  129. Input from Console? (Y/N)
  130.  
  131.     Either an upper- or lower-case "y" or "n" may be entered.  If
  132.     you  enter  "N",  then IPM will ask for the name of the file.
  133.     This file must be in  the  current  subdirectory,  if  you're
  134.     using DOS 2.0 or higher;  IPM isn't smart enough (right now!)
  135.     to access across subdirectories.
  136.  
  137.     If you answer "Y", then IPM will ask:
  138.  
  139. Enter Project Title/Description:
  140.  
  141.     You can enter a  60-character  description  of  the  project.
  142.     This  title  or  description  will  appear  at the top of the
  143.     screen to let you know what project IPM is working on.
  144.  
  145.     Then, IPM will prompt for the number of tasks  that  comprise
  146.     this project:
  147.  
  148. Enter Number of Tasks on this network:
  149.  
  150.     As  was  said before, you should have a minimum of four tasks
  151.     to use IPM;  anything else, would be a  waste  of  time  with
  152.     IPM.   Then the screen will clear, and display something like
  153.     the following:
  154.  
  155. PROJECT: Sample -- Editing
  156. ----------------------------------------------------------------
  157. Task Start  End
  158.       Node Node  Duration  Cost Name/Description
  159.     1    0    0    0.00   0.00    Task01
  160.     2    0    0    0.00   0.00    Task02
  161.     3    0    0    0.00   0.00    Task03
  162.     4    0    0    0.00   0.00    Task04
  163.  
  164.     where "Sample" here is  the  project  title/description  that
  165.     you've entered.  IPM tells you that you are in editing  mode,
  166.     and  will have supplied a generic task name for the number of
  167.     tasks you've indicated, such as "Task01".
  168.  
  169.     At this point, you will see a double command line (lines 24 &
  170.     25).  You can use the command options (remember,  enter  only
  171.     the  first or high-lighted letter of the option) to alter and
  172.     enter the task data.
  173.  
  174. You should do the following:
  175.  
  176.     o IPM  assumes  that the first node is numbered "1", and that
  177.       the last possible node is a number less than  or  equal  to
  178.       the  total  number  of  tasks.  Therefore, you must specify
  179.       "Start" and "End" nodes for each task.
  180.  
  181.     o "Duration" refers to the expected length of time  that  the
  182.       task  should take.  No units are used, so you can use days,
  183.       hours, minutes, or even seconds if you want.  However,  you
  184.       should use the SAME unit of time (days, weeks, or whatever)
  185.       for all entries.
  186.  
  187. To edit a line in the display, you must first enter  the  Taskno.
  188. When  you  have done so, the line in the display will high-light.
  189. Then you can change Duration, Task title, Task description,  etc.
  190. The Task Title, however, is limited to 8 characters only.
  191.  
  192. You  can  insert either a new Task or a new Node.  If you enter a
  193. new Node, you MUST specify a current Task number to go with  that
  194. new Node.
  195.  
  196. To  finish  the editing, enter the command Q(uit).  IPM will then
  197. prompt you if you want to save it to disk, and if so,  what  name
  198. should it give the file.  If the file exists, IPM will ask you if
  199. you want to overwrite (reuse) the file.
  200.  
  201. 3.0  OPERATING IPM
  202.  
  203. Once you have entered the task data, you then have the following
  204. options:
  205.  
  206.     CALCSHEET:  Calculate critical path, total project  duration,
  207.     and cost.  You MUST run this option before doing...
  208.  
  209.     GANTT:  Build a GANTT chart on the console.  If the CalcSheet
  210.     option was not exercised, then you will be prompted to do so.
  211.     The GANTT chart is normalized, that  is,  the  time  line  is
  212.     scaled to fit the CRT display.  The scaling is indicated.
  213.  
  214.     PLOT:   Build  a PERT network chart of the project.  Here you
  215.     will see the tasks going from Node to Node, in  the  sequence
  216.     that  you've  entered.  Since many managers and professionals
  217.     need to see a PERT chart first, this option has the suboption
  218.     of  Editing  as  well.   Then  you  will  go through the same
  219.     editing as before, except that the Edit screen appears in the
  220.     lower  half  of  the  CRT display, so you can see the current
  221.     PERT network.  When you have  finished  editing,  the  screen
  222.     will flicker once or twice, and then paint the new PERT chart
  223.     that is the result of your editing.
  224.  
  225.     EDIT:  Edit tasks, as described above.
  226.  
  227.     FILE:  Once you have entered data (either from the console or
  228.     from  disk), the next time you request F(ile), it will ask if
  229.     you want to do a N(ew project) or to O(utput to  file).   See
  230.     Section 4.0 below.
  231.  
  232.     QUIT:   Return  to  DOS.  IPM will NOT ask you if you want to
  233.     save the current file, so be warned.
  234.  
  235. 4.0  ADVANCED IPM FILE OPTIONS
  236.  
  237. After you have first entered data via F(ile), the next time (and
  238. thereafter) you enable F(ile), it will ask you if you want to do
  239. a N(ew project), O(utput to file), or Q(uit to main menu).
  240.  
  241.     N(ew project):  This is the same as if you were entering data
  242.     for the first time to IPM.
  243.  
  244.     O(utput  to File):  When you select this option, you will see
  245.     a new command menu line of C(alcSheet), G(antt), P(lot),  and
  246.     L(otus).  For C, G, and P, you will first be prompted for the
  247.     filename to send the output to;  this can be "LPT1:" for  the
  248.     printer, but this is NOT encouraged.  (Save to file first, so
  249.     you can use your text editor to modify the file for  whatever
  250.     purpose.)
  251.  
  252.     L(otus):   This  option  outputs  the results of calculations
  253.     into a file, which should be called  with  extension  ".PRN".
  254.     Then  you  can  use Lotus 1-2-3 to IMPORT the file (using the
  255.     NUMBERS option in Lotus), and  thus  generate  a  .WKS  file.
  256.     Once  you've  done  that,  you  can now use the full power of
  257.     Lotus on it.
  258.  
  259.     Q(uit):  Returns you to the main menu display.
  260.  
  261. The  file/printer  output  of the G(antt) and P(lot) options will
  262. differ from the CRT display.  The reason for this, is  to  enable
  263. the  use of any ASCII-supported printer;  except for IBM printers
  264. and EPSON FX printers (with the  appropriate  fonts  downloaded),
  265. the  IBM  display characters above ASCII code 128 decimal are not
  266. uniformly supported.
  267.  
  268. 5.0  USEFUL TIPS
  269.  
  270. IPM uses a normalized time scale.  That is, IPM does not  attempt
  271. to   allocate  tasks  to  a  calendar  schedule,  although  this,
  272. obviously,  is  a  prime  objective.   Thus,   you   should   use
  273. "normalized"  time  units,  such as hours, days, or minutes;  you
  274. should use minutes, for example, if you are using  this  to  plan
  275. activities  that will span an eight-hour day or less;  hours, for
  276. projects under a week;  and days for longer-lived projects.
  277.  
  278.